In many information processing systems, storage systems are key elements. Storage systems, such as block based storage systems, are designed to store and retrieve large amounts of data. To store a block of data, a data block address and data block content are provided. The data block address is also used to retrieve the data block content stored at the specified address. Some storage solutions rely on address-based mapping of data, as well as address-based functionality of a storage system's internal algorithms. This is natural, since computing applications typically rely on address-based mapping and identification of data that is stored and retrieved. However, another solution in which data, internally within a storage system, is mapped and managed based on its content instead of its address can provide various substantial advantages. For example, such a content-based storage solution improves storage capacity efficiency since any duplicate block data will only occupy actual capacity of a single instance of that block. As another example, the content-based storage solution can improve performance since duplicate block writes do not need to be executed internally in the storage system. Content-based storage solutions, however, face various challenges.